Skip to content

fix(crashtracking): use libunwind to unwind frames#1663

Merged
gh-worker-dd-mergequeue-cf854d[bot] merged 3 commits intomainfrom
gyuheon0h/PROF-13672-libunwind
Mar 9, 2026
Merged

fix(crashtracking): use libunwind to unwind frames#1663
gh-worker-dd-mergequeue-cf854d[bot] merged 3 commits intomainfrom
gyuheon0h/PROF-13672-libunwind

Conversation

@gyuheon0h
Copy link
Contributor

@gyuheon0h gyuheon0h commented Mar 5, 2026

What does this PR do?

Use packaged libunwind to unwind crash stacktrace.

The diff is bigger than the actual change, because I moved some of the emitter functions around so that the file structure is

helper structs
main emit func (`emit_crashreport`)
... all the helper emitters ...

I also added unsafe comments to unsafe calls

Motivation

Crashtracker collects callstacks. When it comes to alpine/musl-libc (mainly on x86_64), we fail at retrieving the callstack passed the signal frame. The problem is that the musl-libc binary does not have the CFIs (unwinding information) and the unwinder does not know how to move forward and stop.

Libunwind provides a way to unwind starting from the ucontext: context (registers and state) of the crashing thread. Going that way, we can collect the callstack as much as possible (until hitting musl-libc). We previously packaged libunwind as a libdatadog crate here: feat(profiling): Wrap libunwind in a crate

Lets use this to unwind from crash ucontext

Additional Notes

Anything else we should know when reviewing?

How to test the change?

Describe here in detail how the change can be validated.

Copy link
Contributor Author

This stack of pull requests is managed by Graphite. Learn more about stacking.

@gyuheon0h gyuheon0h force-pushed the gyuheon0h/PROF-13672-libunwind branch from db27cac to 12d5692 Compare March 5, 2026 16:48
@gyuheon0h gyuheon0h changed the title libunwind [dont review; WIP] libunwind Mar 5, 2026
@gyuheon0h gyuheon0h force-pushed the gyuheon0h/PROF-13672-libunwind branch from 12d5692 to b3edc83 Compare March 5, 2026 17:20
@github-actions
Copy link

github-actions bot commented Mar 5, 2026

Clippy Allow Annotation Report

Comparing clippy allow annotations between branches:

  • Base Branch: origin/main
  • PR Branch: origin/gyuheon0h/PROF-13672-libunwind

Summary by Rule

Rule Base Branch PR Branch Change
unwrap_used 12 0 ✅ -12 (-100.0%)
Total 12 0 ✅ -12 (-100.0%)

Annotation Counts by File

File Base Branch PR Branch Change
libdd-crashtracker/src/collector/emitters.rs 12 0 ✅ -12 (-100.0%)

Annotation Stats by Crate

Crate Base Branch PR Branch Change
clippy-annotation-reporter 5 5 No change (0%)
datadog-ffe-ffi 1 1 No change (0%)
datadog-ipc 28 27 ✅ -1 (-3.6%)
datadog-live-debugger 6 6 No change (0%)
datadog-live-debugger-ffi 10 10 No change (0%)
datadog-profiling-replayer 4 4 No change (0%)
datadog-remote-config 3 3 No change (0%)
datadog-sidecar 59 59 No change (0%)
libdd-common 10 10 No change (0%)
libdd-common-ffi 12 12 No change (0%)
libdd-crashtracker 12 0 ✅ -12 (-100.0%)
libdd-data-pipeline 5 5 No change (0%)
libdd-ddsketch 2 2 No change (0%)
libdd-dogstatsd-client 1 1 No change (0%)
libdd-profiling 13 13 No change (0%)
libdd-telemetry 19 19 No change (0%)
libdd-tinybytes 4 4 No change (0%)
libdd-trace-normalization 2 2 No change (0%)
libdd-trace-obfuscation 9 9 No change (0%)
libdd-trace-utils 15 15 No change (0%)
Total 220 207 ✅ -13 (-5.9%)

About This Report

This report tracks Clippy allow annotations for specific rules, showing how they've changed in this PR. Decreasing the number of these annotations generally improves code quality.

@codecov-commenter
Copy link

codecov-commenter commented Mar 5, 2026

Codecov Report

❌ Patch coverage is 31.25000% with 77 lines in your changes missing coverage. Please review.
✅ Project coverage is 71.08%. Comparing base (0f3d46b) to head (30a1416).
⚠️ Report is 4 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1663      +/-   ##
==========================================
- Coverage   71.19%   71.08%   -0.12%     
==========================================
  Files         427      427              
  Lines       62852    62920      +68     
==========================================
- Hits        44746    44725      -21     
- Misses      18106    18195      +89     
Components Coverage Δ
libdd-crashtracker 62.37% <31.25%> (-0.57%) ⬇️
libdd-crashtracker-ffi 17.49% <ø> (+0.92%) ⬆️
libdd-alloc 98.77% <ø> (ø)
libdd-data-pipeline 88.02% <ø> (ø)
libdd-data-pipeline-ffi 75.72% <ø> (ø)
libdd-common 79.73% <ø> (ø)
libdd-common-ffi 73.40% <ø> (ø)
libdd-telemetry 62.48% <ø> (ø)
libdd-telemetry-ffi 16.75% <ø> (ø)
libdd-dogstatsd-client 82.64% <ø> (ø)
datadog-ipc 80.35% <ø> (-0.51%) ⬇️
libdd-profiling 81.60% <ø> (ø)
libdd-profiling-ffi 63.65% <ø> (ø)
datadog-sidecar 32.47% <ø> (+0.47%) ⬆️
datdog-sidecar-ffi 7.73% <ø> (+1.30%) ⬆️
spawn-worker 54.69% <ø> (ø)
libdd-tinybytes 93.16% <ø> (ø)
libdd-trace-normalization 81.71% <ø> (ø)
libdd-trace-obfuscation 94.69% <ø> (ø)
libdd-trace-protobuf 68.25% <ø> (+0.25%) ⬆️
libdd-trace-utils 89.08% <ø> (+<0.01%) ⬆️
datadog-tracer-flare 88.95% <ø> (ø)
libdd-log 74.69% <ø> (ø)
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@dd-octo-sts
Copy link
Contributor

dd-octo-sts bot commented Mar 5, 2026

Artifact Size Benchmark Report

aarch64-alpine-linux-musl
Artifact Baseline Commit Change
/aarch64-alpine-linux-musl/lib/libdatadog_profiling.so 8.70 MB 8.63 MB --.71% (-64.02 KB) 💪
/aarch64-alpine-linux-musl/lib/libdatadog_profiling.a 98.65 MB 100.06 MB +1.42% (+1.40 MB) ⚠️
aarch64-unknown-linux-gnu
Artifact Baseline Commit Change
/aarch64-unknown-linux-gnu/lib/libdatadog_profiling.a 114.29 MB 116.71 MB +2.11% (+2.41 MB) ⚠️
/aarch64-unknown-linux-gnu/lib/libdatadog_profiling.so 11.29 MB 11.20 MB --.75% (-87.43 KB) 💪
libdatadog-x64-windows
Artifact Baseline Commit Change
/libdatadog-x64-windows/debug/dynamic/datadog_profiling_ffi.dll 27.16 MB 27.16 MB 0% (0 B) 👌
/libdatadog-x64-windows/debug/dynamic/datadog_profiling_ffi.lib 76.26 KB 76.26 KB 0% (0 B) 👌
/libdatadog-x64-windows/debug/dynamic/datadog_profiling_ffi.pdb 186.04 MB 186.01 MB --.01% (-24.00 KB) 💪
/libdatadog-x64-windows/debug/static/datadog_profiling_ffi.lib 917.19 MB 917.17 MB -0% (-22.09 KB) 👌
/libdatadog-x64-windows/release/dynamic/datadog_profiling_ffi.dll 9.93 MB 9.93 MB 0% (0 B) 👌
/libdatadog-x64-windows/release/dynamic/datadog_profiling_ffi.lib 76.26 KB 76.26 KB 0% (0 B) 👌
/libdatadog-x64-windows/release/dynamic/datadog_profiling_ffi.pdb 24.76 MB 24.76 MB 0% (0 B) 👌
/libdatadog-x64-windows/release/static/datadog_profiling_ffi.lib 51.43 MB 51.43 MB +0% (+148 B) 👌
libdatadog-x86-windows
Artifact Baseline Commit Change
/libdatadog-x86-windows/debug/dynamic/datadog_profiling_ffi.dll 22.97 MB 22.97 MB 0% (0 B) 👌
/libdatadog-x86-windows/debug/dynamic/datadog_profiling_ffi.lib 77.44 KB 77.44 KB 0% (0 B) 👌
/libdatadog-x86-windows/debug/dynamic/datadog_profiling_ffi.pdb 190.23 MB 190.24 MB +0% (+8.00 KB) 👌
/libdatadog-x86-windows/debug/static/datadog_profiling_ffi.lib 900.84 MB 900.82 MB -0% (-20.73 KB) 👌
/libdatadog-x86-windows/release/dynamic/datadog_profiling_ffi.dll 7.53 MB 7.53 MB 0% (0 B) 👌
/libdatadog-x86-windows/release/dynamic/datadog_profiling_ffi.lib 77.44 KB 77.44 KB 0% (0 B) 👌
/libdatadog-x86-windows/release/dynamic/datadog_profiling_ffi.pdb 26.52 MB 26.52 MB 0% (0 B) 👌
/libdatadog-x86-windows/release/static/datadog_profiling_ffi.lib 47.06 MB 47.06 MB +0% (+150 B) 👌
x86_64-alpine-linux-musl
Artifact Baseline Commit Change
/x86_64-alpine-linux-musl/lib/libdatadog_profiling.a 86.54 MB 87.28 MB +.85% (+758.55 KB) 🔍
/x86_64-alpine-linux-musl/lib/libdatadog_profiling.so 10.23 MB 10.19 MB --.38% (-40.02 KB) 💪
x86_64-unknown-linux-gnu
Artifact Baseline Commit Change
/x86_64-unknown-linux-gnu/lib/libdatadog_profiling.a 107.16 MB 109.60 MB +2.27% (+2.44 MB) ⚠️
/x86_64-unknown-linux-gnu/lib/libdatadog_profiling.so 11.98 MB 11.92 MB --.50% (-62.46 KB) 💪

@gyuheon0h gyuheon0h changed the title [dont review; WIP] libunwind feat(crashtracking): use libunwind to unwind frames Mar 5, 2026
@gyuheon0h gyuheon0h force-pushed the gyuheon0h/PROF-13672-libunwind branch 2 times, most recently from 507c974 to 1ac9cb5 Compare March 5, 2026 19:23
@datadog-datadog-prod-us1
Copy link
Contributor

datadog-datadog-prod-us1 bot commented Mar 5, 2026

✅ Tests

🎉 All green!

❄️ No new flaky tests detected
🧪 All tests passed

This comment will be updated automatically if new data arrives.
🔗 Commit SHA: 30a1416 | Docs | Datadog PR Page | Was this helpful? React with 👍/👎 or give us feedback!

@gyuheon0h gyuheon0h force-pushed the gyuheon0h/PROF-13672-libunwind branch 3 times, most recently from 1dfb73b to 3aa8cd5 Compare March 5, 2026 21:32
@gyuheon0h gyuheon0h force-pushed the gyuheon0h/PROF-13672-libunwind branch 9 times, most recently from 7a8c08e to 2017c16 Compare March 5, 2026 22:26
@gyuheon0h gyuheon0h changed the title feat(crashtracking): use libunwind to unwind frames fix(crashtracking): use libunwind to unwind frames Mar 5, 2026
@pr-commenter
Copy link

pr-commenter bot commented Mar 5, 2026

Benchmarks

Comparison

Benchmark execution time: 2026-03-09 13:36:57

Comparing candidate commit 30a1416 in PR branch gyuheon0h/PROF-13672-libunwind with baseline commit 04394ec in branch main.

Found 1 performance improvements and 1 performance regressions! Performance is the same for 56 metrics, 2 unstable metrics.

Explanation

This is an A/B test comparing a candidate commit's performance against that of a baseline commit. Performance changes are noted in the tables below as:

  • 🟩 = significantly better candidate vs. baseline
  • 🟥 = significantly worse candidate vs. baseline

We compute a confidence interval (CI) over the relative difference of means between metrics from the candidate and baseline commits, considering the baseline as the reference.

If the CI is entirely outside the configured SIGNIFICANT_IMPACT_THRESHOLD (or the deprecated UNCONFIDENCE_THRESHOLD), the change is considered significant.

Feel free to reach out to #apm-benchmarking-platform on Slack if you have any questions.

More details about the CI and significant changes

You can imagine this CI as a range of values that is likely to contain the true difference of means between the candidate and baseline commits.

CIs of the difference of means are often centered around 0%, because often changes are not that big:

---------------------------------(------|---^--------)-------------------------------->
                              -0.6%    0%  0.3%     +1.2%
                                 |          |        |
         lower bound of the CI --'          |        |
sample mean (center of the CI) -------------'        |
         upper bound of the CI ----------------------'

As described above, a change is considered significant if the CI is entirely outside the configured SIGNIFICANT_IMPACT_THRESHOLD (or the deprecated UNCONFIDENCE_THRESHOLD).

For instance, for an execution time metric, this confidence interval indicates a significantly worse performance:

----------------------------------------|---------|---(---------^---------)---------->
                                       0%        1%  1.3%      2.2%      3.1%
                                                  |   |         |         |
       significant impact threshold --------------'   |         |         |
                      lower bound of CI --------------'         |         |
       sample mean (center of the CI) --------------------------'         |
                      upper bound of CI ----------------------------------'

scenario:benching deserializing traces from msgpack to their internal representation

  • 🟩 execution_time [-3.333ms; -2.986ms] or [-6.473%; -5.799%]

scenario:receiver_entry_point/report/2598

  • 🟥 execution_time [+256.082µs; +261.921µs] or [+8.157%; +8.343%]

Candidate

Candidate benchmark details

Group 1

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 30a1416 1773062374 gyuheon0h/PROF-13672-libunwind
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
profile_add_sample_frames_x1000 execution_time 4.192ms 4.195ms ± 0.007ms 4.195ms ± 0.001ms 4.196ms 4.198ms 4.200ms 4.293ms 2.33% 12.475 165.726 0.17% 0.001ms 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
profile_add_sample_frames_x1000 execution_time [4.194ms; 4.196ms] or [-0.024%; +0.024%] None None None

Group 2

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 30a1416 1773062374 gyuheon0h/PROF-13672-libunwind
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
normalization/normalize_service/normalize_service/A0000000000000000000000000000000000000000000000000... execution_time 533.821µs 534.887µs ± 1.051µs 534.758µs ± 0.262µs 535.022µs 535.439µs 541.255µs 543.621µs 1.66% 5.969 40.174 0.20% 0.074µs 1 200
normalization/normalize_service/normalize_service/A0000000000000000000000000000000000000000000000000... throughput 1839515.476op/s 1869560.406op/s ± 3631.771op/s 1870005.573op/s ± 917.114op/s 1870916.656op/s 1872051.883op/s 1872546.390op/s 1873288.764op/s 0.18% -5.931 39.751 0.19% 256.805op/s 1 200
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて execution_time 380.743µs 381.588µs ± 0.360µs 381.539µs ± 0.264µs 381.853µs 382.181µs 382.470µs 382.600µs 0.28% 0.341 -0.345 0.09% 0.025µs 1 200
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて throughput 2613696.657op/s 2620632.147op/s ± 2468.310op/s 2620964.939op/s ± 1817.035op/s 2622501.312op/s 2624000.615op/s 2625650.520op/s 2626440.260op/s 0.21% -0.337 -0.349 0.09% 174.536op/s 1 200
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters execution_time 189.715µs 190.169µs ± 0.234µs 190.152µs ± 0.174µs 190.329µs 190.593µs 190.670µs 190.821µs 0.35% 0.239 -0.546 0.12% 0.017µs 1 200
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters throughput 5240518.290op/s 5258496.355op/s ± 6459.964op/s 5258961.017op/s ± 4813.878op/s 5263196.250op/s 5268807.998op/s 5270394.737op/s 5271070.903op/s 0.23% -0.233 -0.551 0.12% 456.788op/s 1 200
normalization/normalize_service/normalize_service/[empty string] execution_time 37.288µs 37.482µs ± 0.060µs 37.483µs ± 0.034µs 37.522µs 37.574µs 37.599µs 37.659µs 0.47% -0.316 0.553 0.16% 0.004µs 1 200
normalization/normalize_service/normalize_service/[empty string] throughput 26553833.947op/s 26679676.153op/s ± 42528.882op/s 26678559.800op/s ± 24026.084op/s 26700294.204op/s 26755843.894op/s 26785449.171op/s 26818031.039op/s 0.52% 0.328 0.558 0.16% 3007.246op/s 1 200
normalization/normalize_service/normalize_service/test_ASCII execution_time 45.777µs 45.878µs ± 0.046µs 45.869µs ± 0.029µs 45.907µs 45.975µs 45.993µs 46.045µs 0.38% 0.789 0.535 0.10% 0.003µs 1 200
normalization/normalize_service/normalize_service/test_ASCII throughput 21717722.216op/s 21796733.712op/s ± 21745.400op/s 21801330.051op/s ± 13739.484op/s 21813072.273op/s 21824588.989op/s 21833017.965op/s 21844840.467op/s 0.20% -0.784 0.522 0.10% 1537.632op/s 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
normalization/normalize_service/normalize_service/A0000000000000000000000000000000000000000000000000... execution_time [534.741µs; 535.033µs] or [-0.027%; +0.027%] None None None
normalization/normalize_service/normalize_service/A0000000000000000000000000000000000000000000000000... throughput [1869057.078op/s; 1870063.735op/s] or [-0.027%; +0.027%] None None None
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて execution_time [381.538µs; 381.637µs] or [-0.013%; +0.013%] None None None
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて throughput [2620290.063op/s; 2620974.231op/s] or [-0.013%; +0.013%] None None None
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters execution_time [190.136µs; 190.201µs] or [-0.017%; +0.017%] None None None
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters throughput [5257601.066op/s; 5259391.644op/s] or [-0.017%; +0.017%] None None None
normalization/normalize_service/normalize_service/[empty string] execution_time [37.474µs; 37.490µs] or [-0.022%; +0.022%] None None None
normalization/normalize_service/normalize_service/[empty string] throughput [26673782.059op/s; 26685570.247op/s] or [-0.022%; +0.022%] None None None
normalization/normalize_service/normalize_service/test_ASCII execution_time [45.872µs; 45.885µs] or [-0.014%; +0.014%] None None None
normalization/normalize_service/normalize_service/test_ASCII throughput [21793720.009op/s; 21799747.415op/s] or [-0.014%; +0.014%] None None None

Group 3

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 30a1416 1773062374 gyuheon0h/PROF-13672-libunwind
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
normalization/normalize_trace/test_trace execution_time 240.994ns 250.052ns ± 11.843ns 245.053ns ± 3.342ns 251.779ns 280.699ns 284.921ns 285.939ns 16.68% 1.707 1.857 4.72% 0.837ns 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
normalization/normalize_trace/test_trace execution_time [248.410ns; 251.693ns] or [-0.656%; +0.656%] None None None

Group 4

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 30a1416 1773062374 gyuheon0h/PROF-13672-libunwind
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
sdk_test_data/rules-based execution_time 145.311µs 147.336µs ± 1.629µs 147.052µs ± 0.582µs 147.774µs 148.663µs 153.848µs 163.537µs 11.21% 5.854 50.319 1.10% 0.115µs 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
sdk_test_data/rules-based execution_time [147.110µs; 147.562µs] or [-0.153%; +0.153%] None None None

Group 5

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 30a1416 1773062374 gyuheon0h/PROF-13672-libunwind
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
redis/obfuscate_redis_string execution_time 33.545µs 33.901µs ± 0.537µs 33.673µs ± 0.066µs 33.852µs 34.869µs 34.911µs 37.948µs 12.70% 3.035 15.046 1.58% 0.038µs 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
redis/obfuscate_redis_string execution_time [33.826µs; 33.975µs] or [-0.220%; +0.220%] None None None

Group 6

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 30a1416 1773062374 gyuheon0h/PROF-13672-libunwind
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
benching deserializing traces from msgpack to their internal representation execution_time 47.914ms 48.331ms ± 0.998ms 48.177ms ± 0.094ms 48.269ms 48.546ms 52.070ms 58.276ms 20.96% 7.677 64.696 2.06% 0.071ms 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
benching deserializing traces from msgpack to their internal representation execution_time [48.193ms; 48.470ms] or [-0.286%; +0.286%] None None None

Group 7

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 30a1416 1773062374 gyuheon0h/PROF-13672-libunwind
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
write only interface execution_time 1.261µs 3.239µs ± 1.407µs 3.039µs ± 0.035µs 3.065µs 3.676µs 13.793µs 14.857µs 388.86% 7.321 54.945 43.32% 0.099µs 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
write only interface execution_time [3.044µs; 3.434µs] or [-6.018%; +6.018%] None None None

Group 8

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 30a1416 1773062374 gyuheon0h/PROF-13672-libunwind
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
receiver_entry_point/report/2598 execution_time 3.372ms 3.398ms ± 0.013ms 3.396ms ± 0.007ms 3.404ms 3.426ms 3.442ms 3.463ms 1.98% 1.639 3.995 0.39% 0.001ms 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
receiver_entry_point/report/2598 execution_time [3.397ms; 3.400ms] or [-0.054%; +0.054%] None None None

Group 9

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 30a1416 1773062374 gyuheon0h/PROF-13672-libunwind
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
benching string interning on wordpress profile execution_time 159.535µs 160.588µs ± 0.432µs 160.490µs ± 0.131µs 160.663µs 161.239µs 162.010µs 163.791µs 2.06% 3.686 20.845 0.27% 0.031µs 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
benching string interning on wordpress profile execution_time [160.528µs; 160.648µs] or [-0.037%; +0.037%] None None None

Group 10

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 30a1416 1773062374 gyuheon0h/PROF-13672-libunwind
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
tags/replace_trace_tags execution_time 2.411µs 2.442µs ± 0.025µs 2.435µs ± 0.009µs 2.447µs 2.509µs 2.524µs 2.528µs 3.83% 2.145 4.330 1.00% 0.002µs 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
tags/replace_trace_tags execution_time [2.439µs; 2.446µs] or [-0.139%; +0.139%] None None None

Group 11

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 30a1416 1773062374 gyuheon0h/PROF-13672-libunwind
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
credit_card/is_card_number/ execution_time 3.896µs 3.913µs ± 0.003µs 3.912µs ± 0.002µs 3.914µs 3.918µs 3.921µs 3.928µs 0.39% 0.148 5.979 0.08% 0.000µs 1 200
credit_card/is_card_number/ throughput 254597370.097op/s 255581910.766op/s ± 203891.342op/s 255602159.838op/s ± 122107.723op/s 255705369.791op/s 255854673.982op/s 255918010.118op/s 256685626.187op/s 0.42% -0.129 6.006 0.08% 14417.295op/s 1 200
credit_card/is_card_number/ 3782-8224-6310-005 execution_time 78.942µs 79.702µs ± 0.389µs 79.660µs ± 0.295µs 79.977µs 80.416µs 80.581µs 80.852µs 1.50% 0.509 -0.306 0.49% 0.028µs 1 200
credit_card/is_card_number/ 3782-8224-6310-005 throughput 12368303.337op/s 12547068.600op/s ± 61164.073op/s 12553388.754op/s ± 46526.213op/s 12598075.961op/s 12632178.308op/s 12645411.525op/s 12667503.861op/s 0.91% -0.488 -0.339 0.49% 4324.953op/s 1 200
credit_card/is_card_number/ 378282246310005 execution_time 72.345µs 72.892µs ± 0.341µs 72.830µs ± 0.239µs 73.115µs 73.517µs 73.904µs 73.978µs 1.58% 0.765 0.307 0.47% 0.024µs 1 200
credit_card/is_card_number/ 378282246310005 throughput 13517549.452op/s 13719165.677op/s ± 64008.030op/s 13730561.840op/s ± 45113.761op/s 13769406.794op/s 13804032.531op/s 13816962.921op/s 13822737.020op/s 0.67% -0.741 0.247 0.47% 4526.051op/s 1 200
credit_card/is_card_number/37828224631 execution_time 3.893µs 3.912µs ± 0.003µs 3.911µs ± 0.002µs 3.914µs 3.917µs 3.922µs 3.930µs 0.47% 0.392 10.732 0.08% 0.000µs 1 200
credit_card/is_card_number/37828224631 throughput 254478513.192op/s 255621544.518op/s ± 206722.086op/s 255661946.925op/s ± 100154.435op/s 255734170.936op/s 255851003.907op/s 255906651.960op/s 256871410.735op/s 0.47% -0.361 10.776 0.08% 14617.459op/s 1 200
credit_card/is_card_number/378282246310005 execution_time 69.221µs 69.654µs ± 0.304µs 69.586µs ± 0.214µs 69.870µs 70.237µs 70.416µs 70.592µs 1.45% 0.717 -0.234 0.44% 0.021µs 1 200
credit_card/is_card_number/378282246310005 throughput 14165937.629op/s 14356980.767op/s ± 62444.688op/s 14370730.426op/s ± 44349.547op/s 14405536.051op/s 14437443.223op/s 14441170.448op/s 14446449.670op/s 0.53% -0.701 -0.269 0.43% 4415.506op/s 1 200
credit_card/is_card_number/37828224631000521389798 execution_time 52.148µs 52.203µs ± 0.030µs 52.199µs ± 0.018µs 52.222µs 52.258µs 52.289µs 52.311µs 0.21% 0.739 0.450 0.06% 0.002µs 1 200
credit_card/is_card_number/37828224631000521389798 throughput 19116539.102op/s 19155836.885op/s ± 11038.391op/s 19157514.381op/s ± 6665.850op/s 19163609.742op/s 19170595.566op/s 19174918.957op/s 19176091.249op/s 0.10% -0.736 0.443 0.06% 780.532op/s 1 200
credit_card/is_card_number/x371413321323331 execution_time 6.028µs 6.041µs ± 0.016µs 6.036µs ± 0.004µs 6.041µs 6.074µs 6.094µs 6.148µs 1.85% 3.249 13.859 0.26% 0.001µs 1 200
credit_card/is_card_number/x371413321323331 throughput 162651520.149op/s 165537853.907op/s ± 431715.167op/s 165661914.329op/s ± 110296.058op/s 165763657.394op/s 165835923.269op/s 165879370.842op/s 165894810.276op/s 0.14% -3.207 13.454 0.26% 30526.872op/s 1 200
credit_card/is_card_number_no_luhn/ execution_time 3.893µs 3.913µs ± 0.003µs 3.913µs ± 0.002µs 3.915µs 3.917µs 3.918µs 3.920µs 0.17% -1.239 7.489 0.08% 0.000µs 1 200
credit_card/is_card_number_no_luhn/ throughput 255128359.398op/s 255586425.698op/s ± 192473.609op/s 255556351.959op/s ± 134047.087op/s 255735655.948op/s 255833351.856op/s 255910532.993op/s 256843621.911op/s 0.50% 1.257 7.621 0.08% 13609.939op/s 1 200
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 execution_time 64.200µs 64.504µs ± 0.145µs 64.485µs ± 0.087µs 64.582µs 64.781µs 64.869µs 64.973µs 0.76% 0.697 0.323 0.22% 0.010µs 1 200
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 throughput 15391116.386op/s 15502956.557op/s ± 34704.793op/s 15507463.862op/s ± 20998.988op/s 15526692.275op/s 15553758.522op/s 15563973.900op/s 15576387.754op/s 0.44% -0.684 0.303 0.22% 2453.999op/s 1 200
credit_card/is_card_number_no_luhn/ 378282246310005 execution_time 58.206µs 58.444µs ± 0.150µs 58.411µs ± 0.084µs 58.526µs 58.747µs 58.846µs 59.062µs 1.12% 1.147 1.406 0.26% 0.011µs 1 200
credit_card/is_card_number_no_luhn/ 378282246310005 throughput 16931301.931op/s 17110485.146op/s ± 43925.678op/s 17120113.272op/s ± 24549.757op/s 17142308.418op/s 17163260.246op/s 17177973.166op/s 17180235.857op/s 0.35% -1.131 1.348 0.26% 3106.015op/s 1 200
credit_card/is_card_number_no_luhn/37828224631 execution_time 3.891µs 3.912µs ± 0.003µs 3.911µs ± 0.001µs 3.913µs 3.917µs 3.919µs 3.932µs 0.53% 0.918 15.834 0.08% 0.000µs 1 200
credit_card/is_card_number_no_luhn/37828224631 throughput 254335616.585op/s 255653595.496op/s ± 216508.620op/s 255688046.585op/s ± 96835.628op/s 255776803.380op/s 255851944.073op/s 255888029.452op/s 257000861.259op/s 0.51% -0.875 15.841 0.08% 15309.471op/s 1 200
credit_card/is_card_number_no_luhn/378282246310005 execution_time 54.565µs 55.061µs ± 0.321µs 55.000µs ± 0.207µs 55.255µs 55.635µs 55.954µs 56.236µs 2.25% 0.874 0.559 0.58% 0.023µs 1 200
credit_card/is_card_number_no_luhn/378282246310005 throughput 17782134.455op/s 18162231.949op/s ± 105282.245op/s 18181868.763op/s ± 68349.034op/s 18235116.860op/s 18298179.791op/s 18314984.683op/s 18326714.852op/s 0.80% -0.843 0.474 0.58% 7444.579op/s 1 200
credit_card/is_card_number_no_luhn/37828224631000521389798 execution_time 52.147µs 52.224µs ± 0.039µs 52.220µs ± 0.025µs 52.250µs 52.286µs 52.307µs 52.457µs 0.45% 1.229 5.393 0.07% 0.003µs 1 200
credit_card/is_card_number_no_luhn/37828224631000521389798 throughput 19063174.068op/s 19148411.289op/s ± 14217.597op/s 19149808.353op/s ± 9143.876op/s 19158301.478op/s 19167887.272op/s 19174413.356op/s 19176495.370op/s 0.14% -1.216 5.306 0.07% 1005.336op/s 1 200
credit_card/is_card_number_no_luhn/x371413321323331 execution_time 6.028µs 6.039µs ± 0.015µs 6.034µs ± 0.003µs 6.038µs 6.072µs 6.107µs 6.112µs 1.30% 2.792 8.074 0.25% 0.001µs 1 200
credit_card/is_card_number_no_luhn/x371413321323331 throughput 163607056.727op/s 165579156.856op/s ± 407336.175op/s 165726590.832op/s ± 79001.728op/s 165781494.039op/s 165837033.629op/s 165859358.847op/s 165885924.945op/s 0.10% -2.775 7.951 0.25% 28803.017op/s 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
credit_card/is_card_number/ execution_time [3.912µs; 3.913µs] or [-0.011%; +0.011%] None None None
credit_card/is_card_number/ throughput [255553653.387op/s; 255610168.146op/s] or [-0.011%; +0.011%] None None None
credit_card/is_card_number/ 3782-8224-6310-005 execution_time [79.648µs; 79.756µs] or [-0.068%; +0.068%] None None None
credit_card/is_card_number/ 3782-8224-6310-005 throughput [12538591.848op/s; 12555545.352op/s] or [-0.068%; +0.068%] None None None
credit_card/is_card_number/ 378282246310005 execution_time [72.845µs; 72.940µs] or [-0.065%; +0.065%] None None None
credit_card/is_card_number/ 378282246310005 throughput [13710294.780op/s; 13728036.575op/s] or [-0.065%; +0.065%] None None None
credit_card/is_card_number/37828224631 execution_time [3.912µs; 3.912µs] or [-0.011%; +0.011%] None None None
credit_card/is_card_number/37828224631 throughput [255592894.825op/s; 255650194.211op/s] or [-0.011%; +0.011%] None None None
credit_card/is_card_number/378282246310005 execution_time [69.612µs; 69.696µs] or [-0.060%; +0.060%] None None None
credit_card/is_card_number/378282246310005 throughput [14348326.534op/s; 14365635.001op/s] or [-0.060%; +0.060%] None None None
credit_card/is_card_number/37828224631000521389798 execution_time [52.199µs; 52.208µs] or [-0.008%; +0.008%] None None None
credit_card/is_card_number/37828224631000521389798 throughput [19154307.070op/s; 19157366.699op/s] or [-0.008%; +0.008%] None None None
credit_card/is_card_number/x371413321323331 execution_time [6.039µs; 6.043µs] or [-0.036%; +0.036%] None None None
credit_card/is_card_number/x371413321323331 throughput [165478022.337op/s; 165597685.477op/s] or [-0.036%; +0.036%] None None None
credit_card/is_card_number_no_luhn/ execution_time [3.912µs; 3.913µs] or [-0.010%; +0.010%] None None None
credit_card/is_card_number_no_luhn/ throughput [255559750.707op/s; 255613100.689op/s] or [-0.010%; +0.010%] None None None
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 execution_time [64.484µs; 64.524µs] or [-0.031%; +0.031%] None None None
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 throughput [15498146.806op/s; 15507766.307op/s] or [-0.031%; +0.031%] None None None
credit_card/is_card_number_no_luhn/ 378282246310005 execution_time [58.423µs; 58.465µs] or [-0.036%; +0.036%] None None None
credit_card/is_card_number_no_luhn/ 378282246310005 throughput [17104397.469op/s; 17116572.823op/s] or [-0.036%; +0.036%] None None None
credit_card/is_card_number_no_luhn/37828224631 execution_time [3.911µs; 3.912µs] or [-0.012%; +0.012%] None None None
credit_card/is_card_number_no_luhn/37828224631 throughput [255623589.483op/s; 255683601.508op/s] or [-0.012%; +0.012%] None None None
credit_card/is_card_number_no_luhn/378282246310005 execution_time [55.017µs; 55.106µs] or [-0.081%; +0.081%] None None None
credit_card/is_card_number_no_luhn/378282246310005 throughput [18147640.842op/s; 18176823.055op/s] or [-0.080%; +0.080%] None None None
credit_card/is_card_number_no_luhn/37828224631000521389798 execution_time [52.218µs; 52.229µs] or [-0.010%; +0.010%] None None None
credit_card/is_card_number_no_luhn/37828224631000521389798 throughput [19146440.867op/s; 19150381.711op/s] or [-0.010%; +0.010%] None None None
credit_card/is_card_number_no_luhn/x371413321323331 execution_time [6.037µs; 6.042µs] or [-0.034%; +0.034%] None None None
credit_card/is_card_number_no_luhn/x371413321323331 throughput [165522703.979op/s; 165635609.732op/s] or [-0.034%; +0.034%] None None None

Group 12

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 30a1416 1773062374 gyuheon0h/PROF-13672-libunwind
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
two way interface execution_time 18.020µs 26.546µs ± 10.294µs 18.454µs ± 0.245µs 34.464µs 44.110µs 53.483µs 77.621µs 320.62% 1.300 2.706 38.68% 0.728µs 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
two way interface execution_time [25.120µs; 27.973µs] or [-5.374%; +5.374%] None None None

Group 13

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 30a1416 1773062374 gyuheon0h/PROF-13672-libunwind
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
benching serializing traces from their internal representation to msgpack execution_time 14.002ms 14.048ms ± 0.030ms 14.042ms ± 0.011ms 14.055ms 14.086ms 14.168ms 14.224ms 1.29% 2.825 11.054 0.21% 0.002ms 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
benching serializing traces from their internal representation to msgpack execution_time [14.043ms; 14.052ms] or [-0.029%; +0.029%] None None None

Group 14

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 30a1416 1773062374 gyuheon0h/PROF-13672-libunwind
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
profile_add_sample2_frames_x1000 execution_time 730.510µs 731.793µs ± 0.623µs 731.688µs ± 0.303µs 732.096µs 732.640µs 732.904µs 737.462µs 0.79% 3.893 32.623 0.08% 0.044µs 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
profile_add_sample2_frames_x1000 execution_time [731.707µs; 731.879µs] or [-0.012%; +0.012%] None None None

Group 15

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 30a1416 1773062374 gyuheon0h/PROF-13672-libunwind
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
single_flag_killswitch/rules-based execution_time 187.501ns 189.612ns ± 1.749ns 189.587ns ± 1.418ns 190.653ns 192.775ns 194.983ns 196.289ns 3.54% 0.969 0.879 0.92% 0.124ns 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
single_flag_killswitch/rules-based execution_time [189.369ns; 189.854ns] or [-0.128%; +0.128%] None None None

Group 16

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 30a1416 1773062374 gyuheon0h/PROF-13672-libunwind
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
ip_address/quantize_peer_ip_address_benchmark execution_time 4.930µs 4.997µs ± 0.036µs 4.992µs ± 0.013µs 5.005µs 5.064µs 5.068µs 5.070µs 1.57% 0.535 -0.522 0.72% 0.003µs 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
ip_address/quantize_peer_ip_address_benchmark execution_time [4.992µs; 5.002µs] or [-0.100%; +0.100%] None None None

Group 17

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 30a1416 1773062374 gyuheon0h/PROF-13672-libunwind
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
concentrator/add_spans_to_concentrator execution_time 10.622ms 10.654ms ± 0.017ms 10.652ms ± 0.010ms 10.662ms 10.678ms 10.701ms 10.766ms 1.07% 1.891 9.645 0.16% 0.001ms 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
concentrator/add_spans_to_concentrator execution_time [10.651ms; 10.656ms] or [-0.022%; +0.022%] None None None

Group 18

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 30a1416 1773062374 gyuheon0h/PROF-13672-libunwind
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
normalization/normalize_name/normalize_name/Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Lo... execution_time 185.354µs 185.769µs ± 0.235µs 185.751µs ± 0.202µs 185.954µs 186.166µs 186.237µs 186.369µs 0.33% 0.278 -0.936 0.13% 0.017µs 1 200
normalization/normalize_name/normalize_name/Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Lo... throughput 5365687.715op/s 5383048.130op/s ± 6810.743op/s 5383556.535op/s ± 5834.407op/s 5389301.953op/s 5392414.678op/s 5394130.819op/s 5395073.111op/s 0.21% -0.274 -0.940 0.13% 481.592op/s 1 200
normalization/normalize_name/normalize_name/bad-name execution_time 17.903µs 18.004µs ± 0.051µs 17.998µs ± 0.037µs 18.039µs 18.095µs 18.116µs 18.166µs 0.94% 0.466 -0.351 0.28% 0.004µs 1 200
normalization/normalize_name/normalize_name/bad-name throughput 55048044.453op/s 55545058.194op/s ± 158348.233op/s 55563220.804op/s ± 115219.828op/s 55670698.033op/s 55773944.927op/s 55807665.882op/s 55856219.520op/s 0.53% -0.454 -0.369 0.28% 11196.911op/s 1 200
normalization/normalize_name/normalize_name/good execution_time 10.315µs 10.409µs ± 0.047µs 10.405µs ± 0.036µs 10.443µs 10.485µs 10.512µs 10.526µs 1.16% 0.249 -0.705 0.45% 0.003µs 1 200
normalization/normalize_name/normalize_name/good throughput 95002234.712op/s 96076164.021op/s ± 430924.532op/s 96107885.915op/s ± 328372.474op/s 96414372.061op/s 96700661.352op/s 96917397.531op/s 96946337.265op/s 0.87% -0.233 -0.718 0.45% 30470.966op/s 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
normalization/normalize_name/normalize_name/Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Lo... execution_time [185.736µs; 185.801µs] or [-0.018%; +0.018%] None None None
normalization/normalize_name/normalize_name/Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Lo... throughput [5382104.226op/s; 5383992.033op/s] or [-0.018%; +0.018%] None None None
normalization/normalize_name/normalize_name/bad-name execution_time [17.996µs; 18.011µs] or [-0.040%; +0.040%] None None None
normalization/normalize_name/normalize_name/bad-name throughput [55523112.651op/s; 55567003.736op/s] or [-0.040%; +0.040%] None None None
normalization/normalize_name/normalize_name/good execution_time [10.402µs; 10.415µs] or [-0.062%; +0.062%] None None None
normalization/normalize_name/normalize_name/good throughput [96016442.026op/s; 96135886.017op/s] or [-0.062%; +0.062%] None None None

Group 19

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 30a1416 1773062374 gyuheon0h/PROF-13672-libunwind
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
sql/obfuscate_sql_string execution_time 86.152µs 86.405µs ± 0.117µs 86.388µs ± 0.046µs 86.440µs 86.545µs 86.658µs 87.560µs 1.36% 5.067 46.764 0.13% 0.008µs 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
sql/obfuscate_sql_string execution_time [86.389µs; 86.421µs] or [-0.019%; +0.019%] None None None

Baseline

Omitted due to size.

@gyuheon0h gyuheon0h marked this pull request as ready for review March 6, 2026 05:16
@gyuheon0h gyuheon0h requested review from a team as code owners March 6, 2026 05:16
@gyuheon0h gyuheon0h requested a review from a team as a code owner March 6, 2026 05:16
assert!(out.contains("\"file\":\"test_file2\""));
}

#[test]
Copy link
Contributor Author

@gyuheon0h gyuheon0h Mar 6, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

unwinding specific logic with libunwind is tested in the libdd-libunwind-sys crate. No need to replicate those tests here. I test edge cases with ucontext here, however.

@gyuheon0h gyuheon0h force-pushed the gyuheon0h/PROF-13672-libunwind branch 4 times, most recently from 1f94b2f to d37e8ca Compare March 6, 2026 16:52
@gyuheon0h gyuheon0h force-pushed the gyuheon0h/PROF-13672-libunwind branch from d37e8ca to 6c27f98 Compare March 6, 2026 18:54
Copy link
Contributor

@gleocadie gleocadie left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Only misusage, and questions.
Otherwise LGTM

@gyuheon0h gyuheon0h force-pushed the gyuheon0h/PROF-13672-libunwind branch from fc419c4 to 30a1416 Compare March 9, 2026 13:19
@gh-worker-dd-mergequeue-cf854d gh-worker-dd-mergequeue-cf854d bot merged commit de888e2 into main Mar 9, 2026
118 checks passed
@gh-worker-dd-mergequeue-cf854d gh-worker-dd-mergequeue-cf854d bot deleted the gyuheon0h/PROF-13672-libunwind branch March 9, 2026 15:04
gh-worker-dd-mergequeue-cf854d bot pushed a commit that referenced this pull request Mar 11, 2026
# What does this PR do?

Bump to 29.0.0

[feat(profiling)!: add Tracepoint sample type](#1676)
[feat(obfuscation/redis): Reach feature parity on redis obfuscation [APMSP-2668]](#1632)
[fix(sidecar): Handle backpressure more gracefully](#1682)
[feat(trace-protobuf)!: Add two fields to ClientGroupedStats [SVLS-8627]](#1630)
[chore: exclude libdatadog from ADMS auto generated PRs for dependency updates](#1688)
[chore(ci): run crashtracking ffi example tests in CI](#1687)
[fix(crashtracking): use libunwind to unwind frames](#1663)
[feat: publish tracer metadata as OTel process ctx](#1658)
[ci: run thread count test in own process](#1693)
[feat(obfuscation/json): Init json obfuscation [APMSP-2665]](#1635)
[chore(ci): add final_status property on junit XML [APMSP-2610]](#1681)
[refactor(data-pipeline-ffi): move macro definitions for better reuse](#1699)
[fix(obfuscation/memcached): fuzzing fix](#1695)
[ci: replace use of cargo cross for centos7 tests](#1675)
#1702 (comment)
[feat(stats_exporter)!: add process tags to CSS payloads](#1709)

# Motivation

I mainly am creating this to use the new unwinding from ucontext for crashtracking

# Additional Notes

Anything else we should know when reviewing?

# How to test the change?

Describe here in detail how the change can be validated.


[APMSP-2668]: https://datadoghq.atlassian.net/browse/APMSP-2668?atlOrigin=eyJpIjoiNWRkNTljNzYxNjVmNDY3MDlhMDU5Y2ZhYzA5YTRkZjUiLCJwIjoiZ2l0aHViLWNvbS1KU1cifQ
[SVLS-8627]: https://datadoghq.atlassian.net/browse/SVLS-8627?atlOrigin=eyJpIjoiNWRkNTljNzYxNjVmNDY3MDlhMDU5Y2ZhYzA5YTRkZjUiLCJwIjoiZ2l0aHViLWNvbS1KU1cifQ
[APMSP-2665]: https://datadoghq.atlassian.net/browse/APMSP-2665?atlOrigin=eyJpIjoiNWRkNTljNzYxNjVmNDY3MDlhMDU5Y2ZhYzA5YTRkZjUiLCJwIjoiZ2l0aHViLWNvbS1KU1cifQ

Co-authored-by: gyuheon.oh <gyuheon.oh@datadoghq.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants